package edu.nf.project.services.accountsAndPermissions;

import edu.nf.project.entitys.dto.accountsAndPermissions.UserRoleDTO;
import edu.nf.project.entitys.entity.accountsAndPermissions.convention.Roles;

import java.util.List;

/**
 * 角色 Service 接口
 */
public interface RolesService {
    /**
     * 获取全部角色信息
     * @return 角色信息集合
     */
    List<Roles> getAllRoles();

    /**
     * 新增角色
     * @return 是否成功
     */
    boolean addRoles(Roles roles);

    /**
     * 删除角色
     * @return 是否成功
     */
    boolean delRoles(Integer rId);

    /**
     * 修改角色
     * @return 是否成功
     */
    boolean updRoles(Roles roles);

    /**
     * 获取全部用户ID与对应角色名的集合
     * @return 用户ID与角色名集合
     */
    List<UserRoleDTO> getAllUserRoles();

    /**
     * 给用户分配角色
     * @return 是否成功
     */
    boolean rolesForUser(Integer uId, Integer rId);

    /**
     * 删除用户的角色
     * @return 是否成功
     */
    boolean delUsersRoles(Integer uId, Integer rId);
}
